<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<title>SdFat: Arduino/libraries/SdFat/src/FatLib/FatLibConfig.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SdFat
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_a991eec27578c865874ede3d8ec657c2.html">Arduino</a></li><li class="navelem"><a class="el" href="dir_481cc946b8a81b8d9363a4aad6201160.html">libraries</a></li><li class="navelem"><a class="el" href="dir_1281b15c327061056ab3b326e90c50cf.html">SdFat</a></li><li class="navelem"><a class="el" href="dir_c18d6c86f7b0afecac5c3a8a9885031e.html">src</a></li><li class="navelem"><a class="el" href="dir_7e472674a7b7d2590a789f197241f95f.html">FatLib</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a>  </div>
  <div class="headertitle">
<div class="title">FatLibConfig.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>configuration definitions  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br />
<code>#include &quot;<a class="el" href="_sd_fat_config_8h.html">SdFatConfig.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for FatLibConfig.h:</div>
<div class="dyncontent">
<div class="center"><img src="_fat_lib_config_8h__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_lib_config_8h" alt=""/></div>
<map name="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_lib_config_8h" id="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_lib_config_8h">
<area shape="rect" id="node3" href="_sd_fat_config_8h.html" title="configuration definitions " alt="" coords="84,95,188,121"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="_fat_lib_config_8h__dep__incl.png" border="0" usemap="#_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_lib_config_8hdep" alt=""/></div>
<map name="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_lib_config_8hdep" id="_arduino_2libraries_2_sd_fat_2src_2_fat_lib_2_fat_lib_config_8hdep">
<area shape="rect" id="node2" href="_arduino_files_8h.html" title="PrintFile class. " alt="" coords="23,273,194,315"/>
<area shape="rect" id="node4" href="_fat_file_8h.html" title="FatFile class. " alt="" coords="211,184,366,225"/>
<area shape="rect" id="node9" href="_arduino_stream_8h.html" title="ArduinoInStream and ArduinoOutStream classes. " alt="" coords="497,631,683,672"/>
<area shape="rect" id="node13" href="_fat_volume_8h.html" title="FatVolume class. " alt="" coords="89,95,251,136"/>
<area shape="rect" id="node3" href="_fat_file_system_8h.html" title="FatFileSystem class. " alt="" coords="17,363,201,404"/>
<area shape="rect" id="node5" href="ios_8h.html" title="ios_base and ios classes " alt="" coords="269,273,423,315"/>
<area shape="rect" id="node10" href="fstream_8h.html" title="fstream, ifstream, and ofstream classes " alt="" coords="546,541,701,583"/>
<area shape="rect" id="node12" href="_stdio_stream_8h.html" title="StdioStream class. " alt="" coords="447,273,618,315"/>
<area shape="rect" id="node6" href="istream_8h.html" title="istream class " alt="" coords="426,363,581,404"/>
<area shape="rect" id="node11" href="ostream_8h.html" title="ostream class " alt="" coords="247,363,402,404"/>
<area shape="rect" id="node7" href="iostream_8h.html" title="iostream class " alt="" coords="395,452,550,493"/>
<area shape="rect" id="node8" href="bufstream_8h.html" title="ibufstream and obufstream classes " alt="" coords="365,541,521,583"/>
</map>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:aa918e5b1946ba4be891b081607e8193f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fat_lib_config_8h.html#aa918e5b1946ba4be891b081607e8193f">ARDUINO_FILE_USES_STREAM</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:aa918e5b1946ba4be891b081607e8193f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a2b1ca4d91cff876f48deeaacbc33da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fat_lib_config_8h.html#a9a2b1ca4d91cff876f48deeaacbc33da">DESTRUCTOR_CLOSES_FILE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a9a2b1ca4d91cff876f48deeaacbc33da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a8c1ea8596f35f7f33a24b642567206"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fat_lib_config_8h.html#a9a8c1ea8596f35f7f33a24b642567206">ENABLE_ARDUINO_FEATURES</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a9a8c1ea8596f35f7f33a24b642567206"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a270eefdaec4778f2a491658f34f61b17"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fat_lib_config_8h.html#a270eefdaec4778f2a491658f34f61b17">ENDL_CALLS_FLUSH</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a270eefdaec4778f2a491658f34f61b17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28998c5daf4bd038f4f93172698320b1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fat_lib_config_8h.html#a28998c5daf4bd038f4f93172698320b1">FAT12_SUPPORT</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a28998c5daf4bd038f4f93172698320b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2536b194b3b007604a39e8526e108b52"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fat_lib_config_8h.html#a2536b194b3b007604a39e8526e108b52">USE_LONG_FILE_NAMES</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a2536b194b3b007604a39e8526e108b52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc3ef382d3ab8d7e6f8fc134ef21d487"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fat_lib_config_8h.html#afc3ef382d3ab8d7e6f8fc134ef21d487">USE_MULTI_BLOCK_IO</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:afc3ef382d3ab8d7e6f8fc134ef21d487"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23f662882413dcb017ebd8107473b8c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_fat_lib_config_8h.html#a23f662882413dcb017ebd8107473b8c3">USE_SEPARATE_FAT_CACHE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a23f662882413dcb017ebd8107473b8c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>configuration definitions </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="aa918e5b1946ba4be891b081607e8193f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ARDUINO_FILE_USES_STREAM&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set ARDUINO_FILE_USES_STREAM nonzero to use Stream as the base class for the Arduino <a class="el" href="class_file.html" title="Arduino SD.h style File API. ">File</a> class. If ARDUINO_FILE_USES_STREAM is zero, Print will be used as the base class for the Arduino <a class="el" href="class_file.html" title="Arduino SD.h style File API. ">File</a> class.</p>
<p>You can save some flash if you do not use Stream input functions such as find(), findUntil(), readBytesUntil(), readString(), readStringUntil(), parseInt(), and parsefloat(). </p>

</div>
</div>
<a class="anchor" id="a9a2b1ca4d91cff876f48deeaacbc33da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DESTRUCTOR_CLOSES_FILE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set DESTRUCTOR_CLOSES_FILE non-zero to close a file in its destructor.</p>
<p>Causes use of lots of heap in ARM. </p>

</div>
</div>
<a class="anchor" id="a9a8c1ea8596f35f7f33a24b642567206"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ENABLE_ARDUINO_FEATURES&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Enable Extra features for Arduino. </p>

</div>
</div>
<a class="anchor" id="a270eefdaec4778f2a491658f34f61b17"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ENDL_CALLS_FLUSH&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Call flush for endl if ENDL_CALLS_FLUSH is non-zero</p>
<p>The standard for iostreams is to call flush. This is very costly for <a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a>. Each call to flush causes 2048 bytes of I/O to the SD.</p>
<p><a class="el" href="class_sd_fat.html" title="Main file system class for SdFat library. ">SdFat</a> has a single 512 byte buffer for I/O so it must write the current data block to the SD, read the directory block from the SD, update the directory entry, write the directory block to the SD and read the data block back into the buffer.</p>
<p>The SD flash memory controller is not designed for this many rewrites so performance may be reduced by more than a factor of 100.</p>
<p>If ENDL_CALLS_FLUSH is zero, you must call flush and/or close to force all data to be written to the SD. </p>

</div>
</div>
<a class="anchor" id="a28998c5daf4bd038f4f93172698320b1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define FAT12_SUPPORT&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Allow FAT12 volumes if FAT12_SUPPORT is non-zero. FAT12 has not been well tested. </p>

</div>
</div>
<a class="anchor" id="a2536b194b3b007604a39e8526e108b52"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define USE_LONG_FILE_NAMES&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set USE_LONG_FILE_NAMES nonzero to use long file names (LFN). Long <a class="el" href="class_file.html" title="Arduino SD.h style File API. ">File</a> Name are limited to a maximum length of 255 characters.</p>
<p>This implementation allows 7-bit characters in the range 0X20 to 0X7E. The following characters are not allowed:</p>
<p>&lt; (less than) </p><blockquote class="doxtable">
<p>(greater than) </p>
</blockquote>
<p>: (colon) " (double quote) / (forward slash) \ (backslash) | (vertical bar or pipe) ? (question mark)</p><ul>
<li>(asterisk) </li>
</ul>

</div>
</div>
<a class="anchor" id="afc3ef382d3ab8d7e6f8fc134ef21d487"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define USE_MULTI_BLOCK_IO&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set USE_MULTI_BLOCK_IO non-zero to use multi-block SD read/write.</p>
<p>Don't use mult-block read/write on small AVR boards. </p>

</div>
</div>
<a class="anchor" id="a23f662882413dcb017ebd8107473b8c3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define USE_SEPARATE_FAT_CACHE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set USE_SEPARATE_FAT_CACHE non-zero to use a second 512 byte cache for FAT table entries. Improves performance for large writes that are not a multiple of 512 bytes. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jul 19 2016 06:31:51 for SdFat by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address>
</body>
</html>
